﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОперацийРасчетыПоСтраховымВзносам
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"a5fe27df-3461-4c1f-ab39-9b30a7766c7f\", \"Представление\":\"УплатаПФР\"}")]
		УплатаПФР = 0,//Уплата в ПФР
		[EnumMember(Value = "{\"Ссылка\":\"41f0eba9-6cd6-4432-98f4-134dd0f4bff2\", \"Представление\":\"УплатаФСС\"}")]
		УплатаФСС = 1,//Уплата в ФСС
		[EnumMember(Value = "{\"Ссылка\":\"86225a0c-c655-43d8-811c-9c1755b489a5\", \"Представление\":\"УплатаФОМС\"}")]
		УплатаФОМС = 2,//Уплата в ФОМС
		[EnumMember(Value = "{\"Ссылка\":\"d09fd81f-6bc1-40d7-a626-c840fe0e9f19\", \"Представление\":\"Начисление\"}")]
		Начисление = 3,
		[EnumMember(Value = "{\"Ссылка\":\"d1e2d785-dbcf-40e7-b80b-6d1b9a89c5a0\", \"Представление\":\"ПособияПоСтрахованию\"}")]
		ПособияПоСтрахованию = 4,//Расходы по страхованию
		[EnumMember(Value = "{\"Ссылка\":\"d278cf72-106c-4401-8c57-32db17d2a02c\", \"Представление\":\"УплатаЕСН\"}")]
		УплатаЕСН = 5,//Уплата ЕСН
		[EnumMember(Value = "{\"Ссылка\":\"bc1ce896-b3e4-4d7e-8bb8-79630d9bdd77\", \"Представление\":\"УдалитьУплата\"}")]
		УдалитьУплата = 6,//Уплата в фонды (устарело)
		[EnumMember(Value = "{\"Ссылка\":\"e6de3343-3ad9-4c2c-b6b5-8b831f624d43\", \"Представление\":\"ДоначислениеВзносов\"}")]
		ДоначислениеВзносов = 7,//Доначисление взносов
	}
	public static partial class ВидыОперацийРасчетыПоСтраховымВзносам_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid УплатаПФР = new Guid("309b39ab-76a7-7f6c-4c1f-3461a5fe27df");//Уплата в ПФР
		public static readonly Guid УплатаФСС = new Guid("4d13f498-f4d0-f2bf-4432-6cd641f0eba9");//Уплата в ФСС
		public static readonly Guid УплатаФОМС = new Guid("179c1c81-b455-a589-43d8-c65586225a0c");//Уплата в ФОМС
		public static readonly Guid Начисление = new Guid("40c826a6-0efe-199f-40d7-6bc1d09fd81f");
		public static readonly Guid ПособияПоСтрахованию = new Guid("1b6d0bb8-899a-a0c5-40e7-dbcfd1e2d785");//Расходы по страхованию
		public static readonly Guid УплатаЕСН = new Guid("db32578c-d217-2ca0-4401-106cd278cf72");//Уплата ЕСН
		public static readonly Guid УдалитьУплата = new Guid("6379b88b-9b0d-77dd-4d7e-b3e4bc1ce896");//Уплата в фонды (устарело)
		public static readonly Guid ДоначислениеВзносов = new Guid("838bb5b6-621f-434d-4c2c-3ad9e6de3343");//Доначисление взносов
		public static ВидыОперацийРасчетыПоСтраховымВзносам Получить(this ВидыОперацийРасчетыПоСтраховымВзносам Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийРасчетыПоСтраховымВзносам Получить(this ВидыОперацийРасчетыПоСтраховымВзносам Значение, Guid Ссылка)
		{
			if(Ссылка == УплатаПФР)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.УплатаПФР;
			}
			else if(Ссылка == УплатаФСС)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.УплатаФСС;
			}
			else if(Ссылка == УплатаФОМС)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.УплатаФОМС;
			}
			else if(Ссылка == Начисление)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.Начисление;
			}
			else if(Ссылка == ПособияПоСтрахованию)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.ПособияПоСтрахованию;
			}
			else if(Ссылка == УплатаЕСН)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.УплатаЕСН;
			}
			else if(Ссылка == УдалитьУплата)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.УдалитьУплата;
			}
			else if(Ссылка == ДоначислениеВзносов)
			{
				return ВидыОперацийРасчетыПоСтраховымВзносам.ДоначислениеВзносов;
			}
			return ВидыОперацийРасчетыПоСтраховымВзносам.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийРасчетыПоСтраховымВзносам Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийРасчетыПоСтраховымВзносам Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийРасчетыПоСтраховымВзносам.УплатаПФР: return УплатаПФР;
				case ВидыОперацийРасчетыПоСтраховымВзносам.УплатаФСС: return УплатаФСС;
				case ВидыОперацийРасчетыПоСтраховымВзносам.УплатаФОМС: return УплатаФОМС;
				case ВидыОперацийРасчетыПоСтраховымВзносам.Начисление: return Начисление;
				case ВидыОперацийРасчетыПоСтраховымВзносам.ПособияПоСтрахованию: return ПособияПоСтрахованию;
				case ВидыОперацийРасчетыПоСтраховымВзносам.УплатаЕСН: return УплатаЕСН;
				case ВидыОперацийРасчетыПоСтраховымВзносам.УдалитьУплата: return УдалитьУплата;
				case ВидыОперацийРасчетыПоСтраховымВзносам.ДоначислениеВзносов: return ДоначислениеВзносов;
			}
			return Guid.Empty;
		}
	}
}